package SuanFaTest;

import org.junit.Test;

public class DiGui {
    /*
    计算阶乘，用递归算法
     */
    public static int factorial(int n){
        if( n == 1 ){
            return 1;   //停止位置是基线条件，最底层位置
        }
        return n * factorial(n - 1);
    }

    @Test
    public void t1(){
        int num = factorial(4);
        System.out.println(num);
    }

    /*
    冒泡排序的递归算法,第一次遍历将最大的放到最后，然后返回这个方法，因为最后一个数是最大的
    只要前面的数就行，直到最后只剩一个数就停止此方法
     */
    public static void bubbleSort(int[] array,int first,int last){
        if(first == last){
        } else {
            for(int i = 0; i < last; i++){
                if(array[i] > array[i + 1]){
                    int temp = array[i];
                    array[i] = array[i +1];
                    array[i + 1] = temp;
                }
            }
            bubbleSort(array,first,last - 1);
        }
    }


}
